import request from '@/utils/request';
import type { BaseBeanModel, ResponsePageData, ResponseBaseData } from '@/api/model/baseModel';
const basePath = '/appsys/profile/ProfileRest';

/** 配置文件选项表 */
export interface SysProfileOptionValueDto extends BaseBeanModel {
  /** 配置文件ID从SYS_PROFILE_OPTIONS表中获得ID的值 */
  sysProfileOptionsId?: string;
  /** 级别编号1、地点 2、应用 3、角色 4、用户 5、组织 */
  profileLevelCode?: string;
  /** 级别值地点ID、应用ID、角色ID、用户ID、组织ID */
  levelValue?: string;
  levelValueAlias?: string;
  /** 配置文件选项值 */
  profileOptionValue?: string;
}

/**
 * 获取分页数据
 * @param mainId 选中的主表id
 * @returns 子表列表数据
 */
export function listsysArgsConfigSubByPage(mainId: string): Promise<ResponsePageData<SysProfileOptionValueDto>> {
  return request.get(`${basePath}/get-sub-by-pid/v1/${mainId}?`);
}

/**
 * 根据id加载子表数据
 * @param id 被编辑数据id
 * @returns 该行数据信息
 */
export function getSysProfileOptionValue(id: string): Promise<ResponseBaseData<SysProfileOptionValueDto>> {
  return request.get(`${basePath}/get-sub/${id}/v1`);
}

/**
 * 添加-保存表单数据
 * @param form SysProfileOptionValueDto
 * @returns 新添加的数据
 */
export function saveSysProfileOptionValue(form: SysProfileOptionValueDto): Promise<ResponseBaseData<any>> {
  return request.post(`${basePath}/save-sub/v1`, form);
}

/**
 * 编辑-更新表单数据
 * @param form SysProfileOptionValueDto
 * @returns 编辑后的数据
 */
export function updateSysProfileOptionValue(form: SysProfileOptionValueDto): Promise<ResponseBaseData<any>> {
  return request.put(`${basePath}/update-sub/v1`, form);
}
/**
 * 根据id集合删除数据
 * @param ids 选中的id集合
 * @returns 删除成功或失败的结果
 */
export function delSysProfileOptionValue(ids: [string]): Promise<ResponseBaseData<any>> {
  return request.delete(`${basePath}/delete-sub-by-ids/${ids}/v1`);
}

/**
 * 获取地点级别列表数据
 * @returns 地点级别值列表
 */
export function getSiteList() {
  return request.get(`${basePath}/getSiteList`);
}
/**
 * 获取应用级别列表数据
 * @returns 应用级别值列表
 */
export function getAppList() {
  return request.get(`${basePath}/getAppList`);
}
